package com.xbongbong.pro.smartsettings.pojo.vo;

import com.xbongbong.paas.domain.entity.ext.ConditionsEntityExt;
import com.xbongbong.paas.domain.entity.ext.OptionalRangeEntity;
import com.xbongbong.paas.enums.clazz.ConditionClass;
import com.xbongbong.paas.pojo.ItemDataPoJo;
import com.xbongbong.paas.toolbox.wrap.BaseVO;
import com.xbongbong.pro.formexplain.pojo.ReturnExplainPojo;
import com.xbongbong.pro.smartsettings.pojo.SmartFieldAttrPojo;
import com.xbongbong.pro.smartsettings.pojo.SmartStrategyPojo;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.List;
import java.util.Map;

/**
 * @description: 智能助手
 * @Author: hongxiao
 * @date: 2019-04-23 21:05
 * @since v1.0
 */
@Getter
@Setter
@ToString
public class SmartSettingsGetVO extends BaseVO {
    /**
     * 智能助手id
     */
    private Long id;
    /**
     * 智能助手名称
     */
    private String name;
    /**
     * paas菜单id
     */
    private Long menuId;
    /**
     * 表单id
     */
    private Long formId;
    /**
     * 应用id
     */
    private Long appId;
    /**
     * 表单名称
     */
    private String formName;
    /**
     * saas或paas标识，1:saas,2:paas
     */
    private Integer saasMark;
    /**
     * 业务类型
     */
    private Integer businessType;
    /**
     * 表单列表
     */
    private List<ItemDataPoJo> formArray;
    /**
     * 触发器
     */
    private List<ConditionsEntityExt> triggerCondition;
    /**
     * 触发器可选字段列表
     */
    private List<SmartFieldAttrPojo> fieldAttrArray;
    /**
     * 可选字段条件列表
     */
    private Map<String, List<ConditionClass>> fieldConditionArray;
    /**
     * 执行动作
     */
    private Integer action;
    /**
     * 执行动作可选值列表
     */
    private List<ItemDataPoJo> actionArray;
    /**
     * 执行策略
     */
    private SmartStrategyPojo strategy;
    /**
     * 执行策略类型列表
     */
    private List<ItemDataPoJo> strategyTypeArray;
    /**
     * 自定义策略类型
     */
    private List<ItemDataPoJo> customTypeArray;
    /**
     * 周类型--策略可选值列表
     */
    private List<ItemDataPoJo> strategyWeekArray;
    /**
     * 执行人列表
     */
    private List<OptionalRangeEntity> executor;
    /**
     * 可选动态负责人列表attr列表
     */
    private List<ReturnExplainPojo> dynamicManagerArray;
    /**
     * paas短信执行人
     */
    private List<SmartFieldAttrPojo> smsExecutor;
    /**
     * paas可作为执行人的字段列表（单行文本&&手机号）
     */
    private List<SmartFieldAttrPojo> smsExecutorArray;
    /**
     * 执行详情
     */
    private String memo;
    /**
     * 占位符
     */
    private String placeholder;
}
